home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
util
/
boot
/
exept49.readme
< prev
next >
Wrap
Text File
|
1995-02-12
|
7KB
|
146 lines
Short: ExecPatch 4.9 - KS 37.175+ Speedup Patch
Author: *Art
Uploader: Jess Sosnoski (jlsosn@planetx.bloomu.edu)
Type: util/boot
=====================================
ExecPatch 4.9 (25 May 1994)
Copyright (C) 1993-1994 Arthur Hagen.
=====================================
This software is FreeWare, and NOT in the Public Domain!
Requires KickStart 36.xx or above, CLI use only.
Should work with all processor types / FPU-configurations.
Requires a few hundred bytes of FAST-mem to be present.
-----------------------------------------------------------------------
The Amiga is a multitasking machine (no kidding!), and will happily
switch its CPU use between several tasks and processes too fast for the
user really to notice. This task switching system is the whole basis
for the Amiga's multitasking capabilities, and has, naturally, been
coded in efficient assembly to reduce overhead as much as possible.
Even so, several of the basis multitasking functions of the system
could be optimised even further, thus speeding up the machine when
several tasks are running simultaneously, and/or the CPU use is high.
So, I wrote this little utility that will replace some of the systems
key functions with more speed-optimised, but excactly equal code. Just
put ExecPatch in your S:User-Startup or similar.
The functions that will be modified in exec.library are:
Switch() Dispatch() Exception() Remove()
Enqueue() Wait() Signal() WaitPort()
DoIO() WaitIO() CheckIO() ExitIntr()
Schedule() Reschedule() Permit() ObtainSemaphore() (*)
SetExcept() SetSignal()
(*) Under 3.0/3.1 only
In addition, if you have a CPU without cache, the cache functions in
exec.library that does nothing at all will be replaced with a return
statement in the jumptable itself. The functions will be checked first
to see if they really does nothing but return, so everything should be
safe.
-----------------------------------------------------------------------
Six executable files are now included in the archive:
ExecPatch : Works on all 68000/010/020/030-equipped machines
without FPU coprocessors like the 68881 or 68882.
ExecPatch_010 : As above, but will not work on 68000-machines.
A few cycles faster than the "standard" version.
ExecPatch_881 : For 68040 or 68020/30-machines equipped with a FPU.
ExecPatch_LED, Equal to the above versions, but turns the power LED
ExecPatch_010LED, dark when the CPU is idle. This will permanently
ExecPatch_881LED: enable the low-pass audio filter for all tasks, and
might interfere with some audio players.
Note that these LED patches will steal FAR less CPU
time than the program "Idle-LED" or similar programs
because it will not require extra interrupts or any
tasks that must be scheduled, but is a part of the
scheduling process itself.
-----------------------------------------------------------------------
How much does ExecPatch help?
=============================
ExecPatch will only speed up the machine in a multitasking situation,
so speed test programs will not report any increased speed, unless the
test can be made with multitasking enabled. A fair test of how much
this program will help YOU is difficult to propose, but you might try
something like running AIBB with multitasking ON, priority 0, while
your favourite program is doing something in the background. Then do
the same test again, but start ExecPatch first.
The speed increase will depend on several things, among them are the
speed of the FAST-MEM and the CPU type. But count on ExecPatch being
faster except for on a slow-mem-only-expanded machine.
----------------------------------------------------------------------
Bugs/caveats:
=============
1) Some virus killers (like VirusChecker and my own VMon) might report
that vectors have changed (especially the DoIO vector). This is as
it should be, as the vector really has changed, and it is nothing to
worry about. If there was a virus lurking on that vector, it would
have been replaced by ExecPatch's routine.
2) ExecPatch will steal a couple of hundred bytes permanently, and
these will not be released to the system except at reboot.
3) If you *only* have chip- and slow-mem on your system, don't expect
too much from patches like this, as running code from ROM will
usually be faster, especially when displaying graphics.
-----------------------------------------------------------------------
Changes since version 4.8:
Should now work on 2.0/2.1-equipped machines.
Most patches 16-byte-aligned for maximum performance with
burst-ram and "advanced" processors.
Changes since version 4.6:
SetExcept() and SetSignal() patched. Minor code enhancements.
Should now work on 68040-equipped machines.
Changes since version 4.4:
Source rewritten. ObtainSemaphore() patched.
Changes since version 4.3:
Permit patch added. A few minor enhancements. LED versions for all
processor/fpu-types included in archive.
Changes since version 4.2:
Had to make a kludge for the WaitPort()-patch, since EaglePlayer
expected register A0 to be unchanged if there already were messages
on the list. This really is a bug in the players code (german pro-
grammers!), but it should now work. Most patches longword-aligned
for performance increase on 68020+.
Changes since version 3.0:
Four more patches made. Just a weeny bit faster code.
Changes since version 2.1:
Should now work on OS 3.0+ machines.
Optimised slightly.
-----------------------------------------------------------------------
CrippleWare?
============
Yes - this program is CrippleWare. If you like it, just send me a
cripple instead of payment.
Enjoy,
*Art
============================= Archive contents =============================
Original Packed Ratio Date Time Name
-------- ------- ----- --------- -------- -------------
1832 1396 23.7% 18-Jun-94 04:24:56 ExecPatch
1848 1402 24.1% 18-Jun-94 04:25:12 ExecPatch_LED
1816 1387 23.6% 18-Jun-94 04:25:04 ExecPatch_010
1832 1399 23.6% 18-Jun-94 04:25:20 ExecPatch_010LED
1872 1437 23.2% 15-Jun-94 00:19:18 ExecPatch_881
1888 1450 23.1% 18-Jun-94 04:25:28 ExecPatch_881LED
5922 2421 59.1% 18-Jun-94 04:37:10 ExecPatch.DOC
-------- ------- ----- --------- --------
17010 10892 35.9% 16-Dec-94 00:17:42 7 files